package org.wk.user.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.wk.core.db.domain.BaseEntity;

/**
 * @ClassName	: User
 * @Package		：org.wk.user.domain
 * @Author df.w 
 * @Create Time	：2018年5月5日 上午11:06:18
 * @Description	: 
 */ 
@Entity(name="org.wk.user.domain.User")
@Table(name="s_user")
public class User extends BaseEntity{
	/**
	* @Fields serialVersionUID: long
	* @Desc TODO: 
	*/
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name = "id", unique = true, nullable = false, length = 32)
	@GeneratedValue(generator="system-uuid")
	@GenericGenerator(name="system-uuid",strategy = "uuid")
	private String id;
	/**
	 * @Fields mobileNumber: String
	 * @Desc TODO:  手机登录（默认）
	 */
	@Column(unique = true)
	private String mobileNumber;
	/**
	* @Fields userName: String
	* @Desc TODO: 用户名登陆 唯一
	*/
	@Column
	private String userName;

	/**
	* @Fields mail: String
	* @Desc TODO:  邮箱登录
	*/
	@Column
	private String mail;
	/**
	* @Fields password: String
	* @Desc TODO:  登录密码
	*/
	@Column
	private String password;

	@Column
	private String salt;
	/**
	* @Fields loginType: String
	* @Desc TODO: 可登录的方式 
	*/
	@Column
	private String loginType;
	/**
	* @Fields alias: String
	* @Desc TODO: 用户昵称
	*/
	@Column
	private String nickName;

	public String getWeChat() {
		return weChat;
	}

	public void setWeChat(String weChat) {
		this.weChat = weChat;
	}

	/**
	 * @Fields alias: String
	 * @Desc TODO: 商家微信号
	 */
	@Column
	private String weChat;
	/**
	* @Fields headSculpture: String
	* @Desc TODO: 用户头像
	*/
	@Column
	private String headSculpture;
	
	
	/**
	 * @Fields sexCode: String
	 * @Desc TODO: 性别编码
	 */
	@Column
	private String sexCode;

	@Column
	private String sexName;

	/**

	 * 推荐人编码
	 */
	@Column
	private String referralCode;

	
	/**
	 * @Fields promoCode: String
	 * @Desc TODO: 推广码
	 */
	@Column
	private String promoCode;
	
	
	/**
	 * @Fields realName: String
	 * @Desc TODO: 真实姓名
	 */
	@Column
	private String realName;
	
	
	/**
	 * @Fields idCardNo: String
	 * @Desc TODO: 身份证号码
	 */
	@Column
	private String idcardNo;


	public int getIdentityCode() {
		return identityCode;
	}

	public void setIdentityCode(int identityCode) {
		this.identityCode = identityCode;
	}

	/**
	 * @Fields idcardIdentityStatus: String
	 * @Desc TODO: 身份证认证状态
	 */
	@Column
	private String idcardStatusCode;
	
	@Column
	private int identityCode;

	@Column
	private String identityName;

	/**
	 * 归属地 城市级地址码
	 */
	@Column
	private String areaCode;
	/**
	 * @Fields twoLevelPassword: String
	 * @Desc TODO: 用户二级密码
	 */
	@Column
	private String twoLevelPassword;

	private String nextIdentityName;

	public String getNextIdentityName() {
		return nextIdentityName;
	}

	public void setNextIdentityName(String nextIdentityName) {
		this.nextIdentityName = nextIdentityName;
	}

	/**
	 * @return the id
	 */
	
	public String getId() {
		return id;
	}

	public String getSexName() {
		return sexName;
	}

	public void setSexName(String sexName) {
		this.sexName = sexName;
	}

	public String getIdentityName() {
		return identityName;
	}

	public void setIdentityName(String identityName) {
		this.identityName = identityName;
	}

	/**
	 * @param id 要设置的 id
	 */
	
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the userName
	 */
	
	public String getUserName() {
		return userName;
	}

	public String getAreaCode() {
		return areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	/**
	 * @param userName 要设置的 userName
	 */
	
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @return the mobileNumber
	 */
	
	public String getMobileNumber() {
		return mobileNumber;
	}

	public String getSalt() {
		return salt;
	}

	public void setSalt(String salt) {
		this.salt = salt;
	}

	/**
	 * @param mobileNumber 要设置的 mobileNumber
	 */
	
	public void setMobileNumber(String mobileNumber) {
		this.mobileNumber = mobileNumber;
	}

	/**
	 * @return the mail
	 */
	
	public String getMail() {
		return mail;
	}

	
	/**
	 * @return the realName
	 */
	
	public String getRealName() {
		return realName;
	}


	
	/**
	 * @param realName 要设置的 realName
	 */
	
	public void setRealName(String realName) {
		this.realName = realName;
	}


	/**
	 * @return the idcardNo
	 */
	
	public String getIdcardNo() {
		return idcardNo;
	}


	
	/**
	 * @param idcardNo 要设置的 idcardNo
	 */
	
	public void setIdcardNo(String idcardNo) {
		this.idcardNo = idcardNo;
	}


	/**
	 * @return the idcardStatusCode
	 */
	
	public String getIdcardStatusCode() {
		return idcardStatusCode;
	}


	
	/**
	 * @param idcardStatusCode 要设置的 idcardStatusCode
	 */
	
	public void setIdcardStatusCode(String idcardStatusCode) {
		this.idcardStatusCode = idcardStatusCode;
	}


	/**
	 * @param mail 要设置的 mail
	 */
	
	public void setMail(String mail) {
		this.mail = mail;
	}

	/**
	 * @return the password
	 */
	
	public String getPassword() {
		return password;
	}

	
	/**
	 * @param password 要设置的 password
	 */
	
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * @return the loginType
	 */
	
	public String getLoginType() {
		return loginType;
	}

	
	/**
	 * @param loginType 要设置的 loginType
	 */
	
	public void setLoginType(String loginType) {
		this.loginType = loginType;
	}

	/**
	 * @return the nickName
	 */
	
	public String getNickName() {
		return nickName;
	}

	
	/**
	 * @param nickName 要设置的 nickName
	 */
	
	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	
	/**
	 * @return the headSculpture
	 */
	
	public String getHeadSculpture() {
		return headSculpture;
	}


	
	/**
	 * @param headSculpture 要设置的 headSculpture
	 */
	
	public void setHeadSculpture(String headSculpture) {
		this.headSculpture = headSculpture;
	}


	/**
	 * @return the sexCode
	 */
	
	public String getSexCode() {
		return sexCode;
	}


	
	/**
	 * @param sexCode 要设置的 sexCode
	 */
	
	public void setSexCode(String sexCode) {
		this.sexCode = sexCode;
	}


	/**
	 * @return the referralCode
	 */
	
	public String getReferralCode() {
		return referralCode;
	}

	
	/**
	 * @param referralCode 要设置的 referralCode
	 */
	
	public void setReferralCode(String referralCode) {
		this.referralCode = referralCode;
	}


	/**
	 * @return the promoCode
	 */
	
	public String getPromoCode() {
		return promoCode;
	}


	
	/**
	 * @param promoCode 要设置的 promoCode
	 */
	
	public void setPromoCode(String promoCode) {
		this.promoCode = promoCode;
	}

	public String getTwoLevelPassword() {
		return twoLevelPassword;
	}

	public void setTwoLevelPassword(String twoLevelPassword) {
		this.twoLevelPassword = twoLevelPassword;
	}
}
